package com.kayt.cyberBar.cuser.business.dao;

import java.sql.SQLException;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import com.kayt.cyberBar.common.PageData;
import com.kayt.cyberBar.cuser.business.entity.po.BSheetUserCurrentWork;

public interface ISheetUserCurrentWorkDao {
	Integer save(BSheetUserCurrentWork entity) throws SQLException;

	Integer update(BSheetUserCurrentWork entity) throws SQLException;

	Integer delete(BSheetUserCurrentWork entity);
	
	void batchDelete(List<BSheetUserCurrentWork> entityList);

	BSheetUserCurrentWork findById(Long id);

	public PageData<BSheetUserCurrentWork> findByPage(int pageNum, int pageSize, String hql, Object[] params,
			LinkedHashMap<String, String> orderMap) throws SQLException;

	List<BSheetUserCurrentWork> getCurrentWork(String workCode, String startDate, String endDate) throws SQLException;

	BSheetUserCurrentWork findBSheetUserCurrentWork(String workCode, String shiftCode, String date) throws SQLException;

	BSheetUserCurrentWork findBSheetUserCurrentWorkByPositionCode(String positionCode, String shiftCode, String date)
			throws SQLException;
	BSheetUserCurrentWork findBSheetUserCurrentWorkByCode(String code) throws SQLException;

	List<BSheetUserCurrentWork> getCurrentWorkByPositionCode(String positionCode) throws SQLException;

	BSheetUserCurrentWork getCurrentWorkByUserCode(String userCode, String shiftCode) throws SQLException;
	
	List<Map<String, Object>> findBySotreCode(String sotreCode,String date) throws SQLException;
}
